#include <stdio.h>

/*
无符号 int 型变量 a 并赋值 60，将其转换为二进制数为“0011 1100”，移位
运算就是对二进制数进行相应的运算。执行语句 a>>3 时，二进制码为“0000 0111”（十进制 7）；
执行语句 a<<3，二进制码为“0011 1000”（十进制 56）。对于有符号数，在右移时，符号位将随
同移动。当为正数时，最高位补 0，而为负数时，符号位为 1，最高位是补 0 或是补 1 取决于编译
系统的规定
*/

void main()
{
    unsigned int a = 60;
    a = a >> 3;
    printf("a>>3 = %d\n", a);
    a = a << 3;
    printf("a<<3 = %d\n", a);
}